package com.miku.blog.service;

import com.miku.blog.domain.pojo.ResponseResult;
import com.miku.blog.domain.Talk;
import com.baomidou.mybatisplus.extension.service.IService;
import com.miku.blog.domain.vo.TalkVo;

/**
* @author Miku
* @description 针对表【tb_talk】的数据库操作Service
* @createDate 2022-06-10 10:51:12
*/
public interface TalkService extends IService<Talk> {

    /**
     * 获取 说说列表   展示
     * @param current
     * @param size
     * @return
     */
    ResponseResult getTalks(Integer current, Integer size, Integer status);

    /**
     * 前台博客
     *
     * 说说导航 ：获取 说说列表   展示
     *
     * 根据判断当前用户是否为管理员，选择展示 私有 说说
     * 若非管理员，则一律只展示 公开 说说
     *
     * @param current
     * @param size
     * @return
     */
    ResponseResult getTalks(Integer current, Integer size);


    /**
     * 后台管理系统
     * 根据说说ID   获取 说说详细信息
     * @param talkId
     * @return
     */
    ResponseResult getTalkDetailAdminById(Integer talkId);


    /**
     * 前台博客
     *
     * 说说列表
     *
     * 根据说说ID   获取 说说详细信息
     *
     * 根据判断当前用户是否为管理员，选择展示 私有的 说说详情
     * 若非管理员，则一律只展示 公开的 说说详情
     *
     * @param talkId
     * @return
     */
    ResponseResult getTalkDetailById(Integer talkId);


    /**
     * 后台管理系统
     *
     *  发布说说
     *
     * @param talkVo
     * @return
     */
    ResponseResult addTalk(TalkVo talkVo);


    /**
     * 前台博客系统
     *
     * 首页
     *
     * 获取说说内容列表   -> 首页说说轮播
     * @return
     */
    ResponseResult getTalkContents();

    /**
     * 后台博客系统
     *
     * 删除说说
     *
     * @param talkIds
     * @return
     */
    ResponseResult delTalks(Integer[] talkIds);
}
